package org.algorithm.二师兄.回溯算法;

import org.algorithm.common.TreeNode;

/**
 * 编写一个程序，通过填充空格来解决数独问题。
 * 给定一个二叉树，找出其最大深度。
 * <p>
 * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
 * <p>
 * 说明: 叶子节点是指没有子节点的节点。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
 */
public class $4月29日$二叉树的最大深度 {

    public int maxDepth(TreeNode root) {
        int res = 0;
        if(root==null){
            return res;
        }
        res=  max(root,1);
        return res;
    }

    public int max(TreeNode root,int depth){
        if(root==null){
            return depth-1;
        }
        int leftValue = max(root.left, depth+1);
        int rightValue= max(root.right, depth+1);
        return  Math.max(leftValue, rightValue);
    }

}
